using System.Collections.Generic;
using System.Linq;
using BK.Model;
using BK.Repositories.Abstract;
using BK.Repositories.EF;
using Lib.General;
using Lib.Utils.WorkerUtils;

namespace BK.Import
{
//    public class CategoriesWorkerItem : BaseWorkerItem<WorkerItemSettings, Category[]>
//    {
//        private static readonly ICategoriesRepository _categoriesRepository = new CategoriesRepository();
//
//        public CategoriesWorkerItem()
//            : this("Categories_")
//		{
//		}
//
//        private CategoriesWorkerItem(string settingsParamsPreffix) : base(settingsParamsPreffix)
//        {
//        }
//
//        protected override void DoExecute(Category[] objectToProcess)
//        {
//            foreach (Category category in objectToProcess)
//            {
//                Logger.Info(string.Format("CategoryId = {0}, calculated FullName = {1}", category.Id, category.FullName));
//            }
//            
//            _categoriesRepository.Save();
//        }
//
//        protected override Category[] GetFirstUnprocessedObject()
//        {
//            IQueryable<Category> all = _categoriesRepository.GetAll();
//            List<Category> result = new List<Category>();
//            foreach (Category category in all)
//            {
//                if (((ITreeNodeEntity) category).FullName == null)
//                {
//                    result.Add(category);
//                }
//            }
//            
//            return result.Count == 0 ? null : result.ToArray();
//        }
//    }
}